草庐IT

php - 通过 curl 发送 xml 和 header

全部标签

ruby - 使用 Ruby 向网络服务器发送 XML 请求

恐怕我没有太多通过网络服务器发布文档(例如XML)的经验,所以如果我对HTTP的理解不足,我深表歉意。我在127.0.0.1上的ruby​​应用程序中设置了一个基本的MongrelWeb服务器端口2000.(服务器)。我在同一台计算机上运行一个单独的Ruby应用程序。(客户)。我需要客户端向服务器发送XML文档。我曾尝试使用Net::HTTP来执行此操作,但我找不到一个明确的示例来告诉我应该做什么。我试过了,但遇到了错误。我已将请求分解,使其尽可能基本:http=Net::HTTP.new("127.0.0.1",2000)http.post('file','query=foo')#x

ruby-on-rails - Ruby NET::HTTP 在主体之前读取 header (没有 HEAD 请求)?

我使用Net::HTTP和Ruby来抓取URL。我不想抓取流式音频,例如:http://listen2.openstream.co/334其实我只想抓取Html内容,所以没有pdfs、video、txt..现在,我将open_timeout和read_timeout都设置为10,所以即使我抓取这些流式音频页面,它们也会超时。url='http://listen2.openstream.co/334'path=uri.pathreq=Net::HTTP::Get.new(path,{'Accept'=>'*/*','Content-Type'=>'text/plain;charset=u

Ruby 1.9.3 - CSV.table 如何知道 CSV 文件中是否没有 header ?

我一直在用CSV.table做一些测试。我有两个几乎相同的小CSV文件,但其中一个缺少标题行。当我对带有标题行的CSV文件运行CSV.table时,一切都按预期进行。当我针对没有标题行的CSV文件运行它时,我得到:NoMethodError:undefinedmethod`encode'fornil:NilClass我用不同类型的数据、不同类型的header尝试了这个,并得到了相同的结果。我很好奇CSV.table的魔力。如果我使用CSV.parse并将标题设置为true,那么无论如何它总是使第一行成为标题。所以,我一直在使用CSV.table来检查导入的CSV文件是否有标题行,但我对

ruby-on-rails - 通过 Regex、Ruby 拆分时保留模式字符

我有以下字符串str="HelloWorldHowareYouIAmFine"我要把这个字符串放到下面的数组中["Hello","WorldHoware","YouIAm","Fine"]我一直在使用以下正则表达式,它正确拆分但也省略了匹配模式,我也想保留该模式。我得到的是str.split(/[a-z][A-Z]/)=>["Hell","orldHowar","ouIA","ine"]它省略了匹配模式。谁能帮我解决如何在结果数组中保留这些字符 最佳答案 在Ruby1.9中,您可以使用positivelookaheadandposi

通过传递构造函数的 Ruby YAML 解析器

我正在开发一个应用程序,该应用程序从YAML文件获取输入,将它们解析为对象,然后让它们执行它们的操作。我现在遇到的唯一问题是YAML解析器似乎忽略了对象“初始化”方法。我指望构造函数用默认值填充YAML文件缺少的任何实例变量,并将一些东西存储在类变量中。这是一个例子:classTest@@counter=0definitialize(a,b)@a=a@b=b@a=29if@b==3@@counter+=1enddefself.how_manyp@@counterendattr_accessor:a,:bendrequire'YAML'a=Test.new(2,3)s=a.to_yaml

ruby - 你如何将 shell 输出通过管道传递给 ruby​​ -e?

假设我在我的终端中输入了一些东西,比如:ls|grepphrase这样做之后我意识到我想删除所有这些文件。我想使用Ruby来这样做,但不太清楚要将什么传递给它。ls|grepphrase|ruby-e"whatdoIputinheretogothrougheachlinebyline?" 最佳答案 以此为起点:ls~|ruby-ne'print$_if$_[/^D/]'哪个返回:DesktopDocumentsDownloadsDropbox-n标志表示“遍历所有传入行”并将它们存储在“默认”变量$_中。我们没有看到该变量使用太多,

Ruby - 通过对象字段连接对象数组

我有一个对象数组,如下所示:[#,#,#]我想要作为输出:"value1value2value3"我现在在做什么:variable=''array.each{|x|variable这很丑,而且最后还留了一个额外的空间。我想Array::join是我要去的地方,但我找不到从中访问对象字段的方法。是否有另一种类似于加入的方法我应该使用,或者是否有另一种更明智的方法?如有任何建议,我们将不胜感激。 最佳答案 array.map(&:name).join("") 关于Ruby-通过对象字段连接对

ruby-on-rails - 如何记录某个 url 的整个请求( header 、正文等)?

我需要将所有请求(包括HTTPheader、正文等)记录到某个url。我试过这段代码:defindexglobal_request_loggingendprivatedefglobal_request_logginghttp_request_header_keys=request.headers.keys.select{|header_name|header_name.match("^HTTP.*")}http_request_headers=request.headers.select{|header_name,header_value|http_request_header_key

ruby - 如何在使用 Ruby 的 OpenUri 下载之前获取 HTTP header

我目前正在使用OpenURI下载Ruby中的文件。不幸的是,如果不下载完整文件,似乎不可能获得HTTPheader:open(base_url,:content_length_proc=>lambda{|t|ift&&0t)end},:progress_proc=>lambda{|s|pbar.progress=sifpbar}){|io|putsio.sizeputsio.meta['content-disposition']}运行上面的代码表明它首先下载了完整的文件,然后才打印我需要的标题。有没有办法在下载完整文件之前获取header,以便在header与我预期的不同时取消下载?

Ruby 通过 gmail smtp 发送邮件

我正在创建一个ruby​​脚本来检查url的响应状态,如果它等于504,它会向另一个电子邮件地址发送一封邮件。出于某种原因,我得到这个:/usr/lib/ruby/1.9.1/net/smtp.rb:960:in'check_auth_response':534-5.7.14我quadra检查了身份验证数据,它们是有效的。也许代码中可能有问题:require'mail'options={:address=>"smtp.gmail.com",:port=>587,:user_name=>'',:password=>'',:authentication=>'plain',:enable_s